package com.bw.utils;

import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Component;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;

/**
 * @author Monte
 * @author 644527030@qq.com
 * @author 知识改变命运，代码改变世界！
 * @date 2024年07月24日    9:59
 * @PackageName:com.bw.utils
 * @ClassName: MailUtil
 * @Description HomeController
 */

@Component
public class MailUtil {

    @Autowired
    private JavaMailSender javaMailSender;

    /**
     * 短信发送工具类
     * @param form 发件人
     * @param to 收件人
     * @param subject 主题
     * @param text  内容
     * @param errNum 错误循环发送次数
     */
    public Boolean send(String form, String to, String subject, String text, int errNum){

        String msg = "";

        for (int i=0; i<errNum; i++){
            try {
                // 创建一个邮件内容
                MimeMessage mimeMessage = javaMailSender.createMimeMessage();

                // 使用工具把邮件的具体内容填写到邮件的mimeMessage对象中
                MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, true);
                // 设置发件人
                mimeMessageHelper.setFrom(form);
                // 收件人
                mimeMessageHelper.setTo(to);
                // 邮件主题（标题）
                mimeMessageHelper.setSubject(subject);
                // 邮件内容
                mimeMessageHelper.setText(text, true);

                // 发送邮件内容
                javaMailSender.send(mimeMessage);

                return true;
            }catch (Exception e){
                e.printStackTrace();
                msg = e.getMessage();
                System.out.println("失败："+msg);
            }
        }

        return false;
    }
}
